The present invention relates to a technique with which a client device communicates with a server device. In particular, the present invention relates to a technique with which a client device issues a request to a server device.
The recent widespread use of J2EE (Java 2 Enterprise Edition), for example, has being widely promoting the use of web application systems (refer to “Description for Java EE & Web service, URL: http://sdc.sun.co.jp/java/j2ee/index.html in the Internet, searched on 28 Nov. 2007”). Most of web application systems are designed to simultaneously process multiple requests issued by a large number of client devices. However, when there are too many requests to be processed at the same time, the processing of such many requests takes an excessively long time. This situation forces each of users of client devices to wait for a long time and reduces the convenience for the users on some occasions.
Under these circumstances, various techniques with which a large number of requests can be efficiently processed have been used to develop systems to deal with the above problems. One example of such techniques is a technique of temporarily storing received requests in a queue type of data area. When a completion of other processing or another similar event reduces the processing load placed on the server computer, a web-application system obtains the next request from the data area and processes the request. Under such control, the load on the server computer is kept at an appropriate level to reduce a time required for processing.
Meanwhile, some of received requests are not very important to the users. In this case, if the waiting time until the completion of processing such an unimportant request is too long, a user may not want to transmit the request from the beginning. Since the foregoing technique is based on a premise that all requests already received must be processed, such unnecessary requests are to be processed together with other more important requests.
Being based on the premise that all request already received must be processed as described above, the conventional technique is not capable of preventing a user from transmitting a less necessary request from the beginning. For example, a user cannot determine whether to transmit a request because the user cannot know in advance how much load will be placed on a server device by the request to be transmitted, or how much load is currently placed on the server device.